<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

<div
    [ngClass]="
        node.assetId === selectedAsset.assetId
            ? 'asset-node selected-node'
            : 'asset-node'
    "
    fxLayout="row"
    fxFlex="100"
    (click)="emitSelectedNode(node)"
>
    <div
        fxFlex
        [ngClass]="
            nodeResourceCount > 0 || assetSelectionMode
                ? ''
                : 'asset-node-disabled'
        "
    >
        <span fxLayoutAlign="start center">{{ node.assetName }} </span>
    </div>
    <div fxLayoutAlign="end center">
        <div fxLayoutAlign="center center" fxLayout="column">
            <mat-icon
                *ngIf="hasContextInfo"
                (mouseover)="infoOpen = true"
                (mouseout)="infoOpen = false"
                cdkOverlayOrigin
                #trigger="cdkOverlayOrigin"
                color="primary"
                class="mr-5 info-icon"
                fxLayoutAlign="center center"
            >
                info
                <ng-template
                    cdkConnectedOverlay
                    [cdkConnectedOverlayOrigin]="trigger"
                    [cdkConnectedOverlayOpen]="infoOpen"
                >
                    <sp-asset-browser-node-info
                        [asset]="node"
                        [assetBrowserData]="assetBrowserData"
                    ></sp-asset-browser-node-info>
                </ng-template>
            </mat-icon>
        </div>
        <span
            *ngIf="!assetSelectionMode"
            class="resource-count"
            [ngClass]="nodeResourceCount > 0 ? '' : 'resource-count-disabled'"
            >{{ nodeResourceCount }}</span
        >
    </div>
</div>
